package com.android.ccarvajal.ejemplos;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

import android.app.TabActivity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.widget.TabHost;
//import android.widget.Toast;

public class ProductosWMDevices extends TabActivity {
	/** Called when the activity is first created. */
	
	private static final String SOAP_ACTION = "urn:activarapplicationwsdl#activarapplication";
	private static final String METHOD_NAME = "activarapplication";
	private static final String NAMESPACE = "urn:activarapplicationwsdl";
	private static final String URL = "http://www.applicacionesempresariales.webatu.com/prueba.php?wsdl";
	
	public static final String PREFS_NAME = "systempreferenceswmdevices";
	public static final String DEFAUTL_KEY = "01234567-ABCD-EFAB-CDEF-012345678901";
	public static final String EMPTY_KEY = "000000000000000";
	
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
    	super.onCreate(savedInstanceState);
	    setContentView(R.layout.main);
	    Boolean valido = false;
	    Integer ndias = 0;
	    
	    TelephonyManager manejador = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
	    String UID = manejador.getDeviceId();
	    //String UID = Secure.getString(getContentResolver(), Secure.ANDROID_ID);
	    
	    SoapObject peticion = new SoapObject(NAMESPACE, METHOD_NAME);
	    peticion.addProperty("usuario", UID);
	    //if(UID==EMPTY_KEY) UID = "7982595F-A081-2585-3BC2-EC22757DE4EA";
	    if(UID==EMPTY_KEY) UID = DEFAUTL_KEY;
	    
	    SharedPreferences preferencias = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
	    String diasfaltantes = preferencias.getString("diasfaltantes", "");
	    String fechaactivacion = preferencias.getString("fechaactivacion", "");
	    String fechaexpiracion = preferencias.getString("fechaexpiracion", "");
	    if(fechaexpiracion.length()==0){
	    	SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
		    envelope.setOutputSoapObject(peticion);
		    HttpTransportSE transportador = new HttpTransportSE(URL);
		    try
		    {
		    	transportador.call(SOAP_ACTION, envelope);
		    	SoapObject Respuesta = (SoapObject)envelope.getResponse();
				diasfaltantes = (String)Respuesta.getProperty("diasfaltantes");
				fechaactivacion = (String)Respuesta.getProperty("fechaactivacion");
				fechaexpiracion = (String)Respuesta.getProperty("fechaexpiracion");
				SharedPreferences.Editor editorPrefs = preferencias.edit();
				editorPrefs.putString("diasfaltantes", diasfaltantes);
				editorPrefs.putString("fechaactivacion", fechaactivacion);
				editorPrefs.putString("fechaexpiracion", fechaexpiracion);
				editorPrefs.commit();
		    }
		    catch(Exception e)
		    {
		    	diasfaltantes = "0";
		    	e.printStackTrace();
		    }
	    }
	    
	    ndias = Integer.parseInt(diasfaltantes);
	    if(ndias>0)
	    {
		    try
		    {
		    	Date FechaHoy = new Date();
		    	Date FechaExpiracion = new Date();
			    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			    FechaExpiracion = sdf.parse(fechaexpiracion);
			    FechaHoy = sdf.parse(sdf.format(FechaHoy));
			    long diferencia = FechaExpiracion.getTime() - FechaHoy.getTime();
			    ndias = (int)Math.floor(diferencia/(1000*3600*24));
			    if (ndias<0) ndias = 0;
			    diasfaltantes = ndias.toString();
			    SharedPreferences.Editor editorPrefs = preferencias.edit();
			    editorPrefs.putString("diasfaltantes", diasfaltantes);
			    editorPrefs.commit();
		    }
		    catch(Exception e)
		    {
		    	diasfaltantes = "0";
		    	e.printStackTrace();
		    }
	    }
	    
	    if(ndias>0) valido = true;
	    /*if(ndias<1)
	    {
	    	Toast.makeText(this, "La aplicación ha terminado su periodo de prueba..", Toast.LENGTH_LONG).show();
	    }*/
	    
	    Resources res = getResources(); // Resource object to get Drawables
	    TabHost tabHost = getTabHost();  // The activity TabHost
	    TabHost.TabSpec spec;  // Resusable TabSpec for each tab
	    Intent intent;  // Reusable Intent for each tab

	    
	    if (valido){
	    	
	    	// Create an Intent to launch an Activity for the tab (to be reused)
		    //intent = new Intent().setClass(this, ActividadProductos.class);
		    intent = new Intent().setClass(this, ActividadEmpresa.class);
		    // Initialize a TabSpec for each tab and add it to the TabHost
		    spec = tabHost.newTabSpec("empresa").setIndicator("LA EMPRESA", res.getDrawable(R.drawable.iconosclientes)).setContent(intent);
		    tabHost.addTab(spec);
		    
		    // Do the same for the other tabs
		    intent = new Intent().setClass(this, GrillaCategorias.class);
		    spec = tabHost.newTabSpec("productos").setIndicator("PRODUCTOS", res.getDrawable(R.drawable.iconosproductos)).setContent(intent);
		    tabHost.addTab(spec);
		    
	    }
	    else
	    {
	    	// Do the same for the other tabs
		    intent = new Intent().setClass(this, FinPrueba.class);
		    spec = tabHost.newTabSpec("error").setIndicator("ERROR", res.getDrawable(android.R.drawable.ic_dialog_alert)).setContent(intent);
		    tabHost.addTab(spec);
	    }
	    tabHost.setCurrentTab(0);
    }
    
    @Override
    protected void onDestroy(){
    	super.onDestroy();
    }
}